In the last few years, the agent-based modeling (ABM) community has developed several practical agent based modeling toolkits that enable individuals to develop agent-based applications. More and more such toolkits are coming into existence, and each toolkit has a variety of characteristics. Several individuals have made attempts to compare toolkits to each other (see references). Below is a chart intended to capture many of the features that are important to ABM toolkit users.
Platform | Primary Domain | License | Programming Language | Operating System | User Support | FIPA Compliant | GIS Capabilities | 3D Capabilities |
---|---|---|---|---|---|---|---|---|
ABLE (Agent Building and Learning Environment) [1] | Building intelligent agents using machine learning and reasoning | Open source (free for academic and non-commercial use) | Able Rule Language (ARL) | OS/2; Windows 95; Windows 98; Windows NT; and UNIX (any Java 2 JVM) | FAQ; tutorial; examples; discussion forum; emailing developers; Selected publications; API; documentation | Unknown | Unknown | Unknown |
Altreva Adaptive Modeler [2] | Building agent-based market simulation models for price forecasting of real-world stocks and other securities | Proprietary; free evaluation version available for research and experimentation (some limitations but no expiration) | No programming skills required. An adaptive form of genetic programming is used to create trading rules. User can select functions to be used in the genetic programming engine. | Windows 2000, NT 4.0, XP, Vista, 7 or any other platform that supports Microsoft .Net 2.0 or higher | FAQ, documentation, tutorial, examples, forum, email support | Unknown | Unknown | Up to 3 agent properties can be visualized in real-time using 2D graphics and color |
ADK (Tryllian Agent Development Kit) [3] | Large scale distributed applications; Mobile (distributed) agents | Dual licensed: either accept the LGPL or contact Tryllian to acquire a closed source license | Java | Windows; Unix; Big Iron IBM mainframes4; anywhere that the Java Standard Edition version 1.4 runs; Sun Java Runtime Environment version 1.3.1 or 1.4; JDK 5.05; any platform on which Sun has made available a JVM; Windows 2000; Windows XP; Solaris; GNU/Linux; Additionally, the ADK has been tested on OS/400 and OS/370. Mac OS X is not supported, but part of the development of the ADK is done on Mac OS X | FAQ; defect reporting; documentation; mailing list; quickstart guide; examples; email maintainer for more support; API | Yes | Unknown | Unknown |
AgentBuilder [4] | General purpose multi-agent systems | Proprietary; Discounted academic licenses available | Knowledge Query and Manipulation Language (KQML); Java; C; C++ | Windows NT; Windows 2000; Windows XP; Linux; Sun Solaris; any platform with a Java Virtual Machine | Consulting; training; example; FAQ; users manuals; defect reporting; mailing list | Unknown | Unknown | Unknown |
AgentSheets | Teaching simulation to grades K–12 in social studies, mathematics, sciences, and social sciences | Proprietary | Visual AgenTalk; can be exported to Java; | Windows; Mac OS X; should run on any Java Virtual Machine | Manuals; tutorial movies; FAQ; recommended readings on programming and simulation; personal contact with developers; elementary school training; teacher guides | Unknown | Unknown | Unknown |
AnyLogic | Agent-based general purpose; distributed simulations | Proprietary | Java; UML-RT (UML for real time) | AnyLogic 6 models are standalone Java applications (or applets) and run on any Java-enabled platform or in any Java-enabled browser with the following version of JRE (Java Runtime Environment):JRE 1.5.0 or later; Java plug-in (needed to run models in a Browser) is optionally installed with the JRE; Windows Vista, x86-32; Windows XP, x86-32; Mac OS X 10.4.1 or later, Universal; SuSE Open Linux 10.2 or later, x86-32; Ubuntu Linux 7.04 or later, x86-32 | Demos; training; consulting; knowledge base; online forum; ask a question; documentation; selected references | Unknown | Yes | Yes |
AOR Simulation [5] | Agent-based discrete event simulation; special extensions for modeling cognitive agents (with beliefs and speech-act-based information exchange communication). | GPL | Java | Windows; Macintosh; Unix; Linux; web | Web site; selected references; documentation; examples | No | planned | planned |
Ascape [6] | General-purpose agent-based models. | BSD | Java | Windows; Macintosh; Unix; Linux; web | Online forum (emailing list); selected references; documentation; API | Unknown | Unknown | Unknown |
Brahms [7] | Multi-agent environment for simulating organizational processes | Free, but only available for research or non-commercial purposes | Brahms language (an agent oriented language) | Windows 2000; Windows XP; Linux; Sparc/Intel Solaris; and Mac OS X | Documentation; API; tutorials; discussion forums; email contacts | Unknown | Unknown | Unknown |
Breve | Building 3D simulations of multi-agent systems and artificial life. | GPL | Simple Interpreted object oriented language called Steve; agent behaviors can be written in python | Mac OS X; Linux; and Windows | Email developer; tutorials; FAQ; forums; defects section; API; documentation | Unknown | Unknown | Yes |
Construct [8] | Multi-agent model of group and organizational behavior. | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
Cormas (Common-pool Resources and Multi-Agent Systems) [9] | Natural resources management, rural development and ecology | Free to modify but not to distribute the modified version | Smalltalk (requires VisualWorks to run) | Linux; Macintosh; Unix; Windows | Training, selected references; examples; online forum; email developers; documentation | Unknown | Yes | Unknown |
Cougaar[10] | Multi-agent systems; highly distributed, scalable, reliable, survivable applications; Domain independent; large scale distributed, complex, data intensive (can be configured for small-scaled embedded applications | Cougaar Open Source License (COSL) is a modified version of the OSI approved BSD License | Java | Windows 98; Windows NT; Windows XP; Linux; Mac OS X; and Java-1.4-capable PDAs | FAQ; tutorials; slide shows; documentation; selected references; email support; public forums; mailing lists | No | Integrated with OpenMap [11] | No |
DeX [12] | Developing, analyzing, and visualizing dynamic agent-based and multi-body simulations; parallel applications | Free (open source) - read license | C++; dML (deX Modeling Language): a domain-specific language based on C++; python | X86 or x86_64 Linux | Users guide; demo; API; peer to peer account; author support | Unknown | Unknown | Unknown |
DigiHive | artificial life, self-organization, self-replication, emergent phenomena | Unknown | Prolog | Windows; Unix; Linux; | Email; documentation; examples | Unknown | Unknown | Unknown |
D-OMAR (Distributed Operator Model Architecture) [13] | General purpose simulation environment | Free (open source) - read license | Java (OMAR-J); lisp (OMAR-L) | Windows; Unix; Linux | API; technical support from authors | Unknown | Unknown | Unknown |
ECHO [14] | Ecological modeling | Free, open source | C | Unix workstations; Developed on Sun Sparc architecture using Sunos 4.1.3; | A few selected publications; one outdated publication on how to compile and use Echo | Unknown | Unknown | Unknown |
ECJ | Evolutionary computation; genetic programming | Academic Free License – open source | Java | Any Java Platform | Tutorials; examples; API; documentation; online mailing list | Unknown | Unknown | Unknown |
FAMOJA (Framework for Agent-based MOdelling with JAva) [15] | Resource flow management, theoretical systems science, applied systems, environmental systems analysis | LGPL | Java | JDK installation | Tutorial; API; wiki; documentation; | Unknown | Unknown | Unknown |
Framsticks | 2D/3D simulations of (evolving) multi-agent systems and artificial life | Depends on module: GPL/LGPL/Propertiary | FramScript (similar to JavaScript) | Windows; Linux; *nix; Mac OS X | Email developer; tutorials; manual; FAQ; forums; API; documentation; selected publications; examples | Unknown | Yes | Yes |
GPU Agents [16] | Agent-based model simulator on the GPU | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
GROWlab [17] | ABM toolkit of the International Conflict Research Group at the ETH Zurich | Freely available | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
iGen [18] | Artificial intelligence engine; human performance modeling; embeddable cognitive agents | Proprietary (various prices for Developer's License; Modeler's License; Runtime License; and Academic Licenses) | COGNET Execution Language (CEL); C++; C; Java | Windows 95, 98, 2000, NT, XP | Consulting; training; selected publications; (user’s forum and documentation under construction, but not online yet) | Unknown | Unknown | Unknown |
ICARO-T [19] | Reactive and cognitive agents applications | Open Source | Java | Windows and UNIX | Code with examples and documentation. | Unknown | Unknown | Unknown |
JABM [20] | Java Agent-Based Modeling toolkit based on dependency injection | LGPL version 3 | Java | Any Java Platform | mailing list; defect list; examples; API; documentation | Unknown | Unknown | Unknown |
JADE | Distributed applications composed of autonomous entities | LGPL version 2 | Java | Any Java Platform | FAQ; mailing list; defect list; tutorials; API; documentation | Yes | Unknown | Unknown |
JAMEL (Java Agent-based MacroEconomic Laboratory) [21] | Building agent-based macroeconomic simulations | Free (closed source) | No programming required | Any Java platform version 1.5 or higher | examples; reference paper; contact developer | Unknown | Unknown | Unknown |
Janus [22] | General purpose multi-agent platform with agent based, organizational and holonic simulation layer | GPLv3 for non-commercial use; or adhoc commercial license. | Java 1.6 or higher; Ruby scripting of agent's behaviors is possible. | Windows; Macintosh; Unix; Linux; Android; Web | FAQ; documentation; online forum; examples; defect list | Unknown | Non-free extension available: JaSIM | Non-free 3D viewer extension is available |
JAS [23] | General purpose agent based | LGPL; associated third party licenses (usually non¬proprietary) | Java | Any Java platform version 1.5 or higher | API; documentation; tutorials; email authors | Unknown | Unknown | Unknown |
JASA (Java Auction Simulator API) [24] | Computational economics; Agent based computational economics | GPL | Java | Any Java Platform | Public forum, not very well used; API; small set of selected readings; limited documentation | Unknown | Unknown | Unknown |
JCA-Sim [25] | Cellular automata; General purpose simulator | Free (closed source) | Java; Cellular Description Language (CDL) (for input to simulation) | Any Java Platform | Examples; documentation; API; one contact listed | Unknown | Unknown | Unknown |
jES (Java Enterprise Simulator) [26] | A single enterprise or a system of enterprises | Academic free license | Java | Any Java Platform | limited documentation | Unknown | Unknown | Unknown |
jEcho [27] | Ecological modeling using object oriented principles | Free, open source | Java | Any Java Platform | Limited documentation; Author has limited time to work with clients | Unknown | Unknown | Unknown |
JESS [28] | Rule engine and scripting environment | Proprietary; free for academic use | Java/Jess/JessML (declarative xml rule language) | Java Virtual Machine | FAQ; documentation; mailing list; examples; third party plug ins and libraries; wiki | Unknown | Unknown | Unknown |
LSD (Laboratory for Simulation Development) [29] | A language for simulation models; social sciences | GPL | C++; LSD | Windows; Unix; Macintosh | Documentation; a couple of examples; 2 contacts on webpage (but have to dig for them) | Unknown | Unknown | Unknown |
Madkit (Multi Agent Development Kit) [30] | A generic, highly customizable and scalable platform; general purpose multi-agent platform with agent based simulation layer | LGPL for basic libraries; GPL for development and non- commercial applications | Java; MadKit may be developed in all languages that are compiled into Java; for the moment, MadKit comes with 4 scripting languages which are executed in the Java Virtual Machine: Scheme (Kawa), Jess (rule based language), BeanShell (Java interpreted) and Python (jython). Using the JNI (Java Native Interface) technique, it should be possible to develop agents written in C or C++. It is also possible to embed Java agents in C/C++ applications using the same technique, using JNI as a glue between the two worlds. | JVM (Java 2) | FAQ; documentation; online forum; examples; defect list | Unknown | Unknown | Unknown |
MAGSY [31] | Rules Based Multi-Agent Systems | Free (closed source) | Magsy (production language) | UNIX, LINUX, SunOS and Solaris systems. | Limited documentation; some example (inside installation package); no users support groups; no contact even for authors | Unknown | Unknown | Unknown |
MAML (Multi-Agent Modeling Language) [32] | Social science; domain specific programming language for developing agent based models | The compiler is freely downloadable for evaluation purposes (open source) Later the system will be put under GNU license | MAML language; C; visual programming interface | PC; Linux | Tutorial; examples; reference papers; contact developers | Unknown | Unknown | Unknown |
MASON [33] | General purpose; social complexity, physical modeling, abstract modeling, AI/machine learning | Academic Free License (open source) | Java | Any Java Platform (1.3 or higher) | Mailing list; documentation; Tutorials; third party extensions; reference papers; API | Unknown | Yes | Yes |
MASS (Multi-Agent Simulation Suit) [34] | General purpose, distributed simulations, participatory simulations. | Proprietary, free version available | FABLES (Functional Agent-based Language for Simulations); Java; it is possible to run Repast and NetLogo simulations too. | Any OS with Java 1.5, tested for Windows, MacOSX, Linux | Manuals, tutorials, mailing lists, reference papers. | No | No | From Java, any visualisation can be added. |
MAS-SOC (Multi-Agent Simulations for the SOCial Sciences) [35] | Social simulation | Contact authors for availability | AgentSpeak(XL), an extension of Agentspeak(L) and (Environment Description Language for Multi-Agent Simulation); ELMS, a language for modelling environments where cognitive agents are situated. Future work to implement in Java | Unknown | Unknown | Unknown | Unknown | Unknown |
MIMOSE (Micro-und Multilevel Modelling Software) [36] | Social sciences; education | Free (closed source) | A model description language (derived from functional language paradigms) | Client/server version on Sun/Solaris/ and Linux; Java based client on Windows NT, Solaris, and Linux | User’s manual | Unknown | Unknown | Unknown |
Moduleco [37] | Multi-agent platform | GPL | Java | Windows; Linux; Macintosh | API; minimal documentation | Unknown | Unknown | Unknown |
MOOSE (Multimodeling Object-Oriented Simulation Environment) [38] | General purpose, agent based (modeled from SimPack) | Unable to verify that available for public use | C++ | IBM PC running DOS/Windows or Version of Unix (such as Linux or BSD); Unix Workstations (SUN, SGI) | Selected references; user’s manual in toolkit package | Unknown | Unknown | Unknown |
OBEUS (Object Based Environment for Urban Simulation) [39] | Urban simulation | Free (closed source) | Microsoft.net .NET languages – C#, C++, or Visual Basic | Windows | User’s manual | Unknown | Unknown | Unknown |
Omonia (previously Quicksilver) [40] | AI/social sciences | LGPL | Java | JDK installation | Examples; little documentation | Unknown | Unknown | Unknown |
oRIS [41] | Teaching; programming by concurrent objects, multi-agent systems, distributed virtual reality, adaptive control | Proprietary - (free for academic institutions) | Oris language; Very close to C++ and Java (dynamic and interpreted multi-agent language) | IA32 Linux; PPC Linux; SGI Irix; and Windows | Documentation; examples in French; API | Unknown | Unknown | Unknown |
PS-I (Political Science-Identity) [42] | Political phenomena | GPL | No programming required; TCL/TK scripting to apply effects | Cross platform with binaries available for win32; Windows; Linux; PS-I is not currently available for Macintosh users except via emulation of a Windows, NT, or Linux environment. | Documentation; selected publications | Unknown | Unknown | Unknown |
Repast | Social sciences | BSD | Java (RepastS, RepastJ); Python (RepastPy); Visual Basic, .Net, C++, J#, C# (Repast.net) | Java version 1.4, although a 1.3 version for Mac OS X is available. To run the demonstration simulations, you'll need a Java Runtime Environment (RepastS, RepastJ); platform independent (RepastPy); Windows (Repast.net) | Documentation; mailing list; defect list; reference papers; external tools; tutorials; FAQ; examples | Unknown | Yes | Yes |
SDML (Strictly Declarative Modeling Language) [43] | Multi-agent systems (with limited rationality) | GPL; third party license (for VisualWorks) | Smalltalk release 5i.2 Non-Commercial | Windows 3.1; Windows 95; Widows 98; Windows 2000; Windows NT; Linux; Intel; PowerMac; Unix; ADUX/AIX/HPUX/ SGI/Solaris | Mailing list; tutorial; selected references; limited documentation included with software package | Unknown | Unknown | Unknown |
SEAS (System Effectiveness Analysis Simulation) [44] | The US Air Force's Multi-Agent Theater Operations Simulation | Free with government approval | Tactical Programming Language (TPL) | 32-bit and 64-bit Windows 2000/XP/Vista/7 | User manual, examples, training, email, phone | Unknown | Unknown | Unknown |
SeSAm (Shell for Simulated Agent Systems) (fully integrated graphical simulation environment) [45] | General purpose multi domain (agent based); research, teaching, resources, graph theory | LGPL | Simulation compiled from visual specification; Visual programming | Java 5.0 or better; Windows; Linux; Mac OS X | Tutorials; mailing list; FAQ; wiki; author contact | Plugin available | Raster- and Vector-GIS as spatial representation, ESRI-Arcview files can be imported | Plugin available |
Jade’s sim++ | Parallel simulation; Applied simulations; network planning; electronic CAD; real time communication simulation | GPL version 2 | C++ | Available for Meiko and BBN multi-computer systems and can be used on a network with Sun3, Sun 4, and HP 9000 workstations | Unknown | Unknown | Unknown | Unknown |
JIAC [46] | General purpose | Unknown | Java | Unknown | Unknown | Unknown | Unknown | |
SimPlusPlus [47] | Testing Base24 applications | GPL | Fully programmable with any language that can support activeX components (e.g. C, C++, VB, VBA, Java, and others), but no programming required | Sim++ can be used with C code or C++ code, but you MUST have a C++ compiler. DOS; Windows (as a DOS application) or OS2 (as a DOS app). The SimPack software is currently being overhauled to use C++ exclusively; however, it will still be possible to use C programs, as before, to access the C++ routines. | Contact authors | Unknown | Unknown | Unknown |
SimAgent (also sim agent) [48] | Research and teaching related to the development of interacting agents in environments of various degrees and kinds of complexity; exploratory research on human-like intelligent agents; systems involving large numbers of highly distributed fairly homogeneous relatively 'small' agents; primarily designed to support design and implementation of very complex agents, each composed of very different interacting components (like a human mind) where the whole thing is embedded in an environment that could be a mixture of physical objects and other agents of many sorts | Free (open source); MIT/XFREE86 license (for poplog libraries); may later be replaced by GPL | Pop-11, like Common Lisp, is a powerful extendable multi-purpose programming language supporting multiple paradigms. Within the Poplog environment Pop-11 also supports programs written in Prolog, Common Lisp or Standard ML | At least prolog version 15; Windows; Mac OS X; Linux; Unix | Tutorials; documentation; Selected publications; examples; author contact | Unknown | Unknown | Unknown |
SimBioSys [49] | Agent-based evolutionary simulations in both biology and the social sciences | Artistic License Agreement | C++ | Any platform that supports C++ | None | Unknown | Unknown | Unknown |
SimPack [50] | General purpose, agent based; teaching computer simulation at the under¬graduate (senior) and graduate levels | GPL | C++; (C libraries no longer maintained); Java | Any platform that supports C++; Technically, the processing environment is supposedly checked for Java 1.4 but Java 1.5 seems to work fine. Simpackj has been tested with 1.5 and exhibits no issues. The SDK is preferred over the JRE, as this could be useful for certain types of Java code that you may be writing. The SDK includes a JRE | Selected publications; mailing list; user’s manual | Unknown | Unknown | Unknown |
Spatial Modeling Environment (SME) [51] | Ecological economic; Ecoystems modeling | LGPL | No knowledge of computer programming required | Unix | Documentation; mailing list (but wasn’t functional when went to the website) | Unknown | Unknown | Unknown |
Soar | General purpose AI; human performance modeling; learning (including explanation-based learning) | BSD | Soar 1 to 5 in Lisp; Soar 6 in C; Java, C++, TCL | Windows 98; Windows ME; Windows 2000; Windows XP; Linux; Mac OS X | Documentation; FAQ; selected publications; defect list; third party extensions; mailing list; contact authors; tutorial; examples; wiki | Unknown | Unknown | Unknown |
StarLogo | Social and natural sciences; Educators; for students to model the behavior of decentralized systems; user friendly for K–12 students | Free (closed source) - Clearthought Software License, Version 1.0 | StarLogo (an extension of Logo) | Mac OS X v10.2.6 or higher with Java 1.4 installed; Windows; Unix; Linux (StarLogo does not seem to be compatible with Java 5/1.5 on Solaris) | Mailing list; tutorials; FAQ; bug list; documentation; developer contacts | Unknown | Unknown | Unknown |
MacStarLogo | Social and natural sciences; Educators; for students to model the behavior of decentralized systems; user friendly for K–12 students | Free (closed source) | MacStarLogo | Macintosh | Download available from StarLogo webpage, but not actively developed anymore | Unknown | Unknown | Unknown |
OpenStarLogo | Social and natural sciences; Educators; for students to model the behavior of decentralized systems; user friendly for K–12 students | Free for use and distribution for non-commercial purposes (open source) | StarLogo (an extension of Logo) | Mac OS X v10.2.6 or higher with Java 1.4 installed; Windows; Unix; Linux (StarLogo does not seem to be compatible with Java 5/1.5 on Solaris) | FAQ; defects; online support lists; examples and documentation | Unknown | Unknown | Unknown |
StarLogoT | Social sciences; Education; decentralized networks | Free (closed source) | StarLogoT | Macintosh | Tutorials; API; documentation; defect list; contact authors | Unknown | Unknown | Unknown |
StarLogo TNG | Social and natural sciences; teaching basic computer programming skills | StarLogo TNG License v1.0 - (closed source) - the code may be freed up eventually. The original StarLogo is apparently going to be released under an open source license soon | StarLogo TNG language – a graphical programming language and a 3d world | Macintosh and Windows | Tutorials; FAQ; documentation; mailing lists; API | Unknown | Unknown | Unknown |
NetLogo | Social and natural sciences; Help beginning users get started authoring models | GPL | NetLogo | Any Java Virtual Machine, version 5 or later. | Documentation; FAQ; selected references; tutorials; third party extensions; defect list; mailing lists | Unknown | Yes | Yes |
Sugarscape [52] | Social sciences; education | GPL | Java | Java 2 SDK or (Internet Explorer 5.x or greater AND the Java 2 Runtime Environment (JRE)) | API | Unknown | Unknown | Unknown |
Swarm | General purpose agent based | GPL | Java; Objective-C | Windows; Linux; Mac OS X | Wiki; tutorials; examples; documentation; FAQ; selected publications; mailing lists | Unknown | Unknown | Unknown |
VisualBots [53] | Multi-agent simulator in Microsoft Excel | Free, Not Open Source | Visual Basic | Windows | Object model documentation; tutorials; example projects | Unknown | Yes | No |
VSEit [54] | Social sciences; education | Free (closed source) | Java | To run simulations: a Java enabled internet browser like Netscape Navigator or Microsoft Explorer. VSEit is known to run under Netscape Navigator 4.06 or higher, on Windows 95/98 and Windows NT; to develop simulations: any Java platform supporting Java 1.1.7. | Examples; users guide; defect list; | Unknown | Unknown | Unknown |
Xholon [55] | Integration of multiple paradigms, including ABM, in a single model or simulation. | LGPL | Java | Windows; Linux; any Java Platform | Tutorials; many examples; user guide; web sites | Unknown | Unknown | exports to VRML |
ZEUS [56] | Rules engine and scripting environment; Distributed multi-agent simulations | Open source (read license) | Visual editors and code generators | Windows 95; Windows 98; Windows NT; Windows 2000; Windows XP; Linux; BSD; UNIX-like OSes; Solaris | Documentation; author contact | Yes | Unknown | Unknown |